// 1.使用express搭建服务器

// 1.1导入express模块
let express = require('express')

// 1.2创建router对象(路由对象),实际上router是一个函数
let router = express.Router()

// 1.3引入数据库自定义模块
let db = require("../db")

// 1.4引入加密模块
let utility = require('utility')

// 1.5引入token模块
let jwt = require('jsonwebtoken')

// 2.设计接口: 用户注册
router.post('/reguser', function (req, res) {
    // 对接受到的数据，进行加密处理！
    req.body.password = utility.md5(req.body.password)

    // 把数据添加到数据库
    db('insert into user set ?', req.body, function (err, data) {
        if (err != null) {
            res.send({ // 无需设置请求头和转换为JSON格式
                "status": 1,
                "message": "注册失败!!!",
            })
        } else {
            res.send({
                "status": 0,
                "message": "注册成功!!!"
            });
        }
    })
})


// 3.设计接口: 用户登陆
router.post('/login', function (req, res) {

    // 对接受到的数据，进行加密处理！
    req.body.password = utility.md5(req.body.password)

    // 查询
    db('select * from user where username= ? and password= ?', [req.body.username, req.body.password], function (err, data) {

        console.log(err);

        if (err != null) {
            res.send({ // 无需设置请求头和转换为JSON格式
                "status": 1,
                "message": "登陆失败!!!",
            })
        } else {
            if (data.length != 0) {

                // token加密
                let token = "Bearer " + jwt.sign({
                    userId: data[0].id
                }, 'token130', {
                    expiresIn: '2h'
                });
                res.send({
                    "status": 0,
                    "message": "登录成功！",
                    "token": token
                });
            } else {
                res.send({
                    "status": 1,
                    "message": "帐号或密码错误"
                });
            }
        }
    })
})


module.exports = router